The present invention is directed toward a system and method for presenting information about a computer system to a computer system user. More particularly, the system and method are useful in distributing computer system specific information with the computer system in a usable format and with low manufacturing costs.
Computer systems are an integration of components that work together to accomplish computing tasks. Depending on the needs and desires of the user who orders a computer system, the components that are included in a system will vary. FIG. 1 illustrates an embodiment of a modern computer system and provides examples of components that may be included in a system. In the case illustrated, the computer system is a personal computer system.
FIG. 1 illustrates a processor 1 connected to a North Bridge (or host controller) 2. The North Bridge 2 connects to each of a main memory 3, a graphics controller 4, and a South Bridge (or controller hub) 5. The North Bridge and South Bridge are components of what is typically referred to as the chipset. The chipset is conventionally mounted on the motherboard of a computer system. Note that this is merely one example of a computer system, and other systems may connect components in somewhat different manners. For example, the graphics controller 4 could be integrated into the North Bridge 2, or the North Bridge 2 might also connect directly to a Peripheral Component Interconnect (PCI) bus, or some other bus or device, rather than being connected through the South Bridge 5. As illustrated, a PCI bus 6 is connected to the South Bridge 5. The PCI bus includes PCI slots 7 that are available to accept additional devices that will communicate with the computer system. Devices that may plug into the PCI slots include, but are not limited to, modems, network interface cards, graphics accelerators, and Small Computer System Interface (SCSI) drive adapters. An Industry Standard Architecture (ISA) bus bridge 8 is also shown. The ISA bridge 8 may be used to provide ISA slots to connect legacy ISA devices to the PCI bus and, therefore, the computer system. Similarly, a low pin count interface (LPC I/F) 9 is illustrated connecting a Super input/output (Super I/O) 10 to the South Bridge 5. The LPC I/F 9, in addition to the Super I/O 10 may connect other X-Bus devices and legacy ISA devices. The Super I/O 10 illustrated provides connections for various devices such as a keyboard 11, a mouse 12, a floppy disk (FD) 13, a parallel port (PP) 14, a serial port (SP) 15, and an infrared port (IR) 16. FIG. 1 also shows a firmware hub interface (FWH) 17 connected to the South Bridge 5. The FWH 17 is typically used to store and supply nonvolatile instructions such as basic input/output system (BIOS) instructions to the computer system. The BIOS, among other things, manages data flow between a computer""s operating system and attached devices. The operating system, however, is the main software component responsible for system signal flow. Well-known operating systems in modern computer systems include such operating systems as various WINDOWS operating systems distributed by Microsoft Corporation, UNIX operating systems derived from the UNIX operating system originally created by ATandT Bell Labs and other similar derivatives such as the open-source operating system LINUX. There are many other operating systems, including operating systems created to operate computers manufactured by Apple Computer, Inc. A Universal Serial Bus (USB) 18 may also be connected to the South Bridge 5. Multiple devices may be connected to the USB 18. Several Integrated Drive Electronics (IDE) drives 19 may be connected to the South Bridge 5. IDE is a standard electronic interface used between a computer and disk storage devices. IDE devices may include hard disk drives, compact disc read-only memory (CD-ROM) drives, and numerous other disk devices. FIG. 1 also shows a System Management Bus (SMBus) 20 that enables additional devices to be connected to the South Bridge 5. The SMBus 20 is useful in performing management and information gathering functions within the computer system, and may connect one or more devices using the I2C data transmission protocol created by PHILLIPS ELECTRONICS or another capable protocol.
Each of these hardware and software components may be supplied by more than one component vendor, and component vendors may supply more than one variety of each component. Therefore, each component is a variable that must be uniquely identified by the manufacturer of the computer system. With each component as a variable, the number of possible combinations of components becomes very large.
Generally, there are two types of information that a user may want to know about a computer component. First, a user may simply want to know the product identifier for the component. Product identifiers are typically printed on a component, printed on a sticker that is placed on the component, or included in documentation that accompanies the computer system. None of these locations is particularly convenient for a user to access. Many times a user needs such information to assist a technician to complete a technical support service call. During a technical support call, customers are not often patient with requests by the technician to open up the computer system to identify a product or to try and find product documentation that the user may not have seen for months or years. Sometimes information is included electronically in the operating system device information as well, but such information is often incomplete and does not include computer system manufacturers"" unique identifiers.
Second, many components include additional information explaining their operation or use. Such information may be included in files called xe2x80x9cReadMexe2x80x9d files. ReadMe files are well known in the art. However, ReadMe files are typically associated with a single hardware or software component. Often they reside in the same directory as the executable file of a software component, or in the same directory as the driver file of a hardware device. Therefore, if the user knows where to look, the ReadMe file can be found. Nonetheless, a veritable search must be conducted to locate and read all of the files.
There are some limited display mechanisms in the art. For example, it is known in the art to automatically present a ReadMe file upon completion of the downloading or installation of a software application. However, such a mechanism is merely for the particular software application that has been downloaded or installed. Further, the ReadMe file is inconvenient to locate at a later time.
Conventionally, hardware and software component information is conveyed to end users by paper manuals and flyers. However, paper products are relatively expensive. Not only is there the cost of the paper and printing, but there is also cost associated with placing manuals and flyers in shipping containers. As discussed above, many varieties of systems with various combinations of components are produced, and each variety needs only certain manuals or flyers. Further, if there is a need to draw attention to particular information by use of color paper or printing, the expense increases.
What is needed is a means of efficiently and cost effectively distributing information to computer system users. It would be advantageous for information to be loaded for distribution electronically, and also to be placed in a location that is visible and easily accessible to users. An improved system would be capable of activating itself upon starting of the computer system. An improved system could be loaded onto all of the systems a manufacturer produces and could automatically find the proper data to display, or if no data to display exists, could prevent itself from being automatically started. A further improved system could be set to only automatically activate itself a limited number of times. Regardless of automatic activation, a user of the improved system could still view the information in a convenient manner.
An embodiment of the invention is a method of displaying data about a computer system on the computer system itself. An act toward accomplishing the method is initiating a boot sequence of the computer system. Additionally, a key is read to initiate execution of a program that accesses data files for display, the key being read from a system information area. If data files containing data to be displayed on the computer system are in predetermined locations in the computer system, execution of the program is continued. Continuation of the program includes: opening a graphical user interface (GUI); associating the data files to be displayed with the GUI; and displaying the data about the computer system. If no data files are in predetermined locations in the computer system, then the key is removed from the system information area during the boot sequence. The acts of this and other embodiments may be included on a removable media storage device.
Another embodiment of the invention is a method of conveying information to a computer system user. Information is conveyed by automatically executing a program upon startup of the computer system, the program enabling the display of computer system information, and displaying data about the computer system from data files stored on the computer system. The displayed data may correspond to installed computer system components, and at least a portion of the data may be written to the computer system during the manufacturing process by the computer system original equipment manufacturer. The automatically executing program is configurable to be installed on any variety of a model of a computer system and display the appropriate data for the particular variety, or to remove itself from the system if no data is available for display.
Yet another embodiment of the invention is a method of manufacturing a computer system enabled to display information about the computer system. Acts of the method may include: loading data files into a subdirectory of the operating system root directory of the computer system, wherein the data files provide information about the components installed in the computer system; loading an executable file operable to access and display the data files into a subdirectory of the operating system root directory of the computer system; and loading a key into a system information area of the computer system, the key operable to call for the execution of the executable file. The executable file is executed upon startup of the computer system a selectable number of times, the number of times being included in the key that calls for execution.
Still another embodiment of the invention is a computer system with a motherboard, a main memory coupled to the motherboard, a component coupled to the motherboard, and a processor coupled to the motherboard. The processor may be programmed to execute the following instructions: upon system startup, determine if displayable files are present in a predetermined directory; if displayable files are present in the predetermined directory, then spawning a graphical user interface (GUI) to display the displayable files by linking to the displayable files; and provide an interface for a user to deactivate spawning of the GUI upon system startup.